[Alteryx]Oracle Database表のコメントをAlteryxのフィールド名にする簡単な方法
「物理名はほんなこつせからしかね!」(方言)
リレーショナルデータベースのテーブル設計で、カラムの命名に悩まれている方、多いと思います。 多くのRDBMSでは、命名に使える文字の種類や数に制限があるので細かい説明が書けませんね。
結果、テーブル定義のExcelシートを別に準備して、 ・テーブルのカラムに設定する名前を"物理名" ・物理名を補足し、業務上理解できる表現にした名前を"論理名" として管理する手法は、もはや定番とも言えるのではないでしょうか。
さて、Oracle Databaseは、COMMENT文を使って表(テーブル)の各列(カラム)に対して補足説明を追加することが可能です。
このコメントを論理名として活用している場合、折角ならばAlteryxのワークフロー中ではこの論理名でデータを扱えるようになりたい、と思うのも自然な流れかと思います。
今回はこの表に設定したコメントを、Alteryxのフィールド名としてワークフローで使用できるようになる方法を紹介します。
設定手順
以下の手順で、表のコメントをAlteryxのフィールド名に設定できます。
- Oracle Databaseへ接続する
- 表データを取得する
- 対応する表のコメントを取得する
- 表コメントをAlteryxのフィールド名に設定する
なお、今回の検証では以下の環境を使用しました。 もちろん、Alteryx Designerが動作するPCとOracle Databaseサーバは通信ができることが前提です。
デスクトップ環境
- Windows 10 Pro バージョン1803
- Alteryx Designer x64 Ver. 2019.1.4.57073
サーバ環境
- Oracle Database 18c Enterprise Edition
- HRサンプル・スキーマ(設定方法はこちら)
1.Oracle Databaseへ接続する
Alteryx Designerを起動し、データ入力ツールを配置します。 "ファイルまたはデータベースを接続する"ドロップダウンリストから、"Oracle"を選択します。
Oracleを選択するのが初めての場合は、Oracle Databaseへアクセスするために必要なプログラム(Oracle Client)をAlteryxがダウンロード、セットアップしてくれます。 Oracle Clientを格納するフォルダを指定してください。
Oracle Clientのダウンロードが済んだ、もしくは既にOracle Databaseとの連携を実行したことがある方は、下記のデータベース接続ウィンドウが表示されます。
目的のデータベースの接続情報を入力して、念の為テストボタンを押して接続の確認をした上で設定を完了してください。
2.表データを取得する
設定したデータベース接続情報を使って表データを取得します。今回は簡単にビジュアルクエリビルダを使って、HRスキーマのEMPLOYEES表を全件取得する設定にします。
3.対応する表のコメントを取得する
表のコメント情報は表には格納されていません。コメントを格納しているデータ・ディクショナリから取得します。
SELECT column_name, comments FROM user_col_comments WHERE table_name = '<テーブル名>'
今回サンプルとして使っているEMPLOYEESテーブルに対して上記SQL問い合わせを実行すると、以下のような結果が得られます。
注:これは別のSQLクライアントツールの画面です。Alteryxの画面ではありません
表データの取得と同じようにデータ入力ツールをワークフローに配置して、Oracleを選択し、同じデータベース情報を設定します。 "テーブルを選択またはクエリを指定"ウィンドウで"SQL Editor"ボタンを押し、上記のデータ・ディクショナリから列名とコメントを選択するSQL文を設定します。 シングルクォートで囲んだテーブル名は大文字にしないと、データ・ディクショナリ上のテーブル名にヒットしないので注意してください。
4.表コメントをAlteryxのフィールド名に設定する
表のコメントをAlteryxのフィールド名に設定するには、動的リネームツールを使用します。動的リネームツールは開発者グループに入っています。
ツールをワークフロー上にドラッグ&ドロップし、事前に配置したデータ入力ツールとワイヤで繋ぎます。 今回の例では動的リネームのL側に表データ、R側にコメントのデータを接続しています。
動的リネームツールを選択し、左側の設定ダイアログで以下のように設定します。
- 名前の変更モード: 右入力(R)のデータの行からフィールド名を取得
- 列の古いフィールド名: COLUMN_NAME
- 列の新しいフィールド名: COMMENTS
動作確認
ここまで設定できたら、出力結果を確認する閲覧ツールなどを最後に接続して、ワークフローを実行します。 実行後の出力を閲覧ツールを選択して確認すると、確かに列名がコメントに変わっていることが確認できます。
後は、各ツールでコメントデータをフィールド名として自由に扱うことができます。下の画面は選択ツールでフィールド名を選択しているところです。
おわりに
Oracle Databaseの表に設定されたコメントをAlteryxのフィールド名として利用する方法を確認しました。 ビジネス的な観点ではデータは論理名で扱えた方がわかりやすいので、ご参考になればと思います。 それでは、また。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。